//
//  SupportViewController.m
//  LegalObserver
//
//  Created by Roxanne Brittain on 11/6/11.
//  Copyright (c) 2011 Digifit. All rights reserved.
//

#import "SupportViewController.h"
#import "LOAppDelegate.h"
#import "FlurryAnalytics.h"
#import "LOTableViewCell.h"

@implementation SupportViewController

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
        self.title = @"Support & Feedback";
    }
    return self;
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;
 
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 2;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    if (section==1) return @"Submit Feedback";
    
    return @"";
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    if (section==0) return 4;
    else if (section==1) return 2;
    return 0;
}

- (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section==1&&indexPath.row==0) return 72;
    else return 45;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    
    int style;
    if (indexPath.section==0) {
        style = UITableViewCellStyleValue1;
    } else if (indexPath.section==1) {
        if (indexPath.row==0) style = TABLE_CELL_STYLE_NOTE;
        if (indexPath.row==1) style = TABLE_CELL_STYLE_BUTTON;
    }
    
    LOTableViewCell *cell = nil;[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier];
    }
    
    if (indexPath.section==0) {
        if (indexPath.row==0) {
            cell.textLabel.text = @"Version";
            cell.detailTextLabel.text = @"1.0";
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        } else if (indexPath.row==1) {
            cell.textLabel.text = @"Developer";
            cell.detailTextLabel.text = @"Roxanne Brittain";
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        } else if (indexPath.row==2) {
            cell.textLabel.text = @"Support Email";
            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            cell.selectionStyle = UITableViewCellSelectionStyleGray;
        } else if (indexPath.row==3) {
            cell.textLabel.text = @"Website";
            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            cell.selectionStyle = UITableViewCellSelectionStyleGray;
        }
    } else if (indexPath.section==1) {
        if (indexPath.row==0) {
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        } else if (indexPath.row==1) {
            cell.textLabel.text = @"Send";
            cell.selectionStyle = UITableViewCellSelectionStyleGray;
        }
    }
    
    // Configure the cell...
    
    return cell;
}

/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the specified item to be editable.
    return YES;
}
*/

/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }   
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
}
*/

/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
}
*/

/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the item to be re-orderable.
    return YES;
}
*/

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    // Navigation logic may go here. Create and push another view controller.
    if (indexPath.section==0) {
        if (indexPath.row==0) {
        } else if (indexPath.row==1) {
        } else if (indexPath.row==2) {
			NSURL *mailURL = [NSURL URLWithString: @"mailto:?to=roxanne.brittain@gmail.com&subject=Legal%20Observer%20Support"];
			[[UIApplication sharedApplication] openURL: mailURL];
		} else if (indexPath.row==3) {
			NSURL *webURL = [NSURL URLWithString: @"http://roxannebrittain.com/LOApp"];
			[[UIApplication sharedApplication] openURL: webURL];
		}
    } else if (indexPath.section==1) {
        if (indexPath.row==0) {
        } else if (indexPath.row==1) {
            LOTableViewCell *cell = (LOTableViewCell*)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]];
            NSString *feedback = cell.textView.text;
            if (!feedback || [feedback isEqualToString:@""]) {
                [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Please type your feedback in the above box." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show];
            } else {
                [FlurryAnalytics logEvent:@"FEEDBACK" withParameters:[NSDictionary dictionaryWithObject:feedback forKey:@"feedback"]];
//                [TestFlight passCheckpoint:[NSString stringWithFormat:@"FEEDBACK: %@", feedback]];
                [[[UIAlertView alloc] initWithTitle:@"Thanks!" message:@"Your feedback has been submitted." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show];
            }
        }
    }
}

@end
